<template>
	<view class="container">
		<view class="addres-list">
			<view class="address-item" v-for="item in addresslist" :key="item.id">
				<view class="contacts" @click="goToSubPack(item)">
					<text class="name">{{ item.consignee }}</text>
					<text class="phone">{{ item.phone.substring(0,3)+'****'+item.phone.substring(7) }}</text>
				</view>
				<view class="address" @click="goToSubPack(item)">
					<!-- <text class="region" v-for="(region, idx) in item.region" :key="idx">{{ region }}</text> -->
					<text>{{item.provinceName}}-{{item.cityName}}-{{item.districtName}}</text>
					<text class="detail">{{ item.detail }}</text>
				</view>
				<view class="line"></view>
				<view class="item-option">
					<view class="_left">
						<label class="item-radio" @click.stop="handleSetDefault(item)">
							<radio class="radio" color="#fa2209" :checked="item.isDefault"></radio>
							<text class="text">{{ item.isDefault ? '已设为默认' : '设为默认' }}</text>
						</label>
					</view>
					<view class="_right">
						<view class="events">
							<view class="event-item" @click="handleUpdate(item.id)">
								<text class="iconfont icon-edit"></text>
								<text class="title">编辑</text>
							</view>
							<view class="event-item" @click="handleRemove(item.id)">
								<text class="iconfont icon-delete"></text>
								<text class="title">删除</text>
							</view>
						</view>
					</view>
				</view>
			</view>
		</view>
		<!-- 底部操作按钮 -->
		<view class="footer-fixed">
			<view class="btn-wrapper">
				<view class="btn-item btn-item-main" @click="handleCreate()">添加新地址</view>
			</view>
		</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex';
	import {
		delAddressBook,
		getAllAddressBook,
		setDefaultAddressBook,

	} from "@/request/API.js";
	export default {
		computed: {
			...mapState(['shopDetail', 'subCurrent'])
		},
		data() {
			return {
				addresslist: []
			}
		},

		onShow() {
			// 获取页面数据
			this.getAddressList(),
				this.onReorder()
		},
		methods: {
			goToSubPack(item) {
				let that = this;
				uni.navigateTo({
					url: "/subPack/index/indexSettlement?addressId=" +
						item.id
				})
			},
			// 获取收货
			async getAddressList() {
				const {
					data
				} = await getAllAddressBook();
				console.log(data);
				// this.addresslist = uni.getStorageSync('savedData') || [];
				this.addresslist = data;
			},

			// 列表排序把默认收货地址放到最前
			onReorder() {
				this.addresslist.sort(item => {
					return item.address_default ? -1 : 1
				})
			},
			// 添加地址
			handleCreate() {
				uni.navigateTo({
					url: '/pages/address/editaddress'
				});
			},
			// 编辑地址
			handleUpdate(addressId) {
				uni.navigateTo({
					url: '/pages/address/update?id=' + addressId
				});
			},
			// 删除地址
			handleRemove(addressId) {
				const that = this
				uni.showModal({
					title: "提示",
					content: "您确定要删除当前收货地址吗?",
					success: async function(res) {
						if (res.confirm) {
							const {
								data
							} = await delAddressBook({
								id: addressId
							});
							uni.showToast({
								title: data,
								duration: 2000
							});
							that.getAddressList();
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});

			},

			// 设置默认地址
			async handleSetDefault(item) {
				await setDefaultAddressBook({
					id: item.id
				});
				this.getAddressList();
			}
		}
	}
</script>

<style lang="scss" scoped>
	.addres-list {
		// padding-top: 20rpx;
		// 设置ios刘海屏底部横线安全区域
		padding-bottom: calc(constant(safe-area-inset-bottom) + 140rpx);
		padding-bottom: calc(env(safe-area-inset-bottom) + 140rpx);
	}

	// 项目内容
	.address-item {
		margin: 20rpx auto 20rpx auto;
		padding: 30rpx 40rpx;
		width: 94%;
		box-shadow: 0 1rpx 5rpx 0px rgba(0, 0, 0, 0.05);
		border-radius: 16rpx;
		background: #fff;
	}

	.contacts {
		font-size: 30rpx;
		margin-bottom: 16rpx;

		.name {
			margin-right: 16rpx;
		}
	}

	.address {
		font-size: 28rpx;

		.region {
			margin-right: 10rpx;
		}
	}

	.line {
		margin: 20rpx 0;
		border-bottom: 1rpx solid #f3f3f3;
	}

	.item-option {
		display: flex;
		justify-content: space-between;
		height: 48rpx;

		// 单选框
		.item-radio {
			font-size: 28rpx;

			.radio {
				vertical-align: middle;
				transform: scale(0.76)
			}

			.text {
				vertical-align: middle;
			}
		}

		// 操作
		.events {
			display: flex;
			align-items: center;
			line-height: 48rpx;

			.event-item {
				font-size: 28rpx;
				margin-right: 26rpx;
				color: #4c4c4c;

				&:last-child {
					margin-right: 0;
				}

				.title {
					margin-left: 8rpx;
				}
			}
		}

	}


	// 底部操作栏
	.footer-fixed {
		position: fixed;
		bottom: var(--window-bottom);
		left: 0;
		right: 0;
		min-height: 120rpx;
		z-index: 11;
		box-shadow: 0 -4rpx 40rpx 0 rgba(151, 151, 151, 0.24);
		background: #fff;

		// 设置ios刘海屏底部横线安全区域
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);

		.btn-wrapper {
			height: 120rpx;
			display: flex;
			align-items: center;
			padding: 0 40rpx;
		}

		.btn-item {
			flex: 1;
			font-size: 28rpx;
			height: 80rpx;
			line-height: 80rpx;
			text-align: center;
			color: #fff;
			border-radius: 50rpx;
		}

		.btn-item-main {
			background: linear-gradient(to right, #f9211c, #ff6335);
		}

	}
</style>